using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace Common.Shared.IO {
  public class DriveDetectorEventArgs : EventArgs {
    private bool _cancel;
    private LogicalDriveInfo _drive;
    private bool _hookQueryRemove;

    public bool HookQueryRemove {
      get { return _hookQueryRemove; }
      set { _hookQueryRemove = value; }
    }

    public LogicalDriveInfo Drive {
      get { return _drive; }
      set { _drive = value; }
    }

    public bool Cancel {
      get { return _cancel; }
      set { _cancel = value; }
    }

    public DriveDetectorEventArgs ( )
      : this ( null, false, false ) {

    }

    public DriveDetectorEventArgs ( LogicalDriveInfo drive )
      : this ( drive, false, false ) {

    }

    public DriveDetectorEventArgs ( LogicalDriveInfo drive, bool cancel )
      : this ( drive, cancel, false ) {

    }
    public DriveDetectorEventArgs ( LogicalDriveInfo drive, bool cancel, bool hookQueryRemove ) {
      this.Cancel = cancel;
      this.Drive = drive;
      this.HookQueryRemove = hookQueryRemove;
    }
  }
}
